'''
魔术索引。 在数组A[0...n-1]中，有所谓的魔术索引，满足条件A[i] = i。
给定一个有序整数数组，编写一种方法找出魔术索引，若有的话，在数组A中找出一个魔术索引，如果没有，则返回-1。
若有多个魔术索引，返回索引值最小的一个。
'''
'''
遍历数组，增加跳跃机制
'''
nums = []
class Solution:
    def findMagicIndex(self, nums):
        i = 0
        j = -1
        nums.sort()
        while i in range(len(nums)):
            if i == nums[i]:
                return i
            elif i < nums[i]: # 因为数组是有序的,所以如果数组元素比下标大，那就可以直接跳到对应的下标开始
                i = nums[i]
            else:
                i = i + 1
        return j
